"""
生成器函数
    定义：
        含有yield语句的函数，返回值为生成器对象。
    语法：
        def  函数名():
            yield 数据
    调用:
        for 变量  in  函数名():
            语句
    执行过程：
        1.调用生成器函数会自动创建迭代器对象。
        2. 调用迭代器对象的next()方法时才执行生成器函数。
        3. 每次执行到yield语句时返回数据，暂时离开。
        4. 待下次调用next()方法时继续从离开处继续执行。

    原理：生成迭代器对象的大致规则如下
        1. 将yield关键字以前的代码放在next方法中。
        2. 将yield关键字后面的数据作为next方法的返回值。
"""

# 定义生成器函数
def my_range(end):
    num = 0
    while num <= end:
        yield num  # 生成 相当于将满足条件的数字暂时存放到迭代器的列表中，当调用此函数的时候，返回这个列表
        num +=1


# 调用生成器函数
for num in my_range(10):
    print(num)